package com.lqd.mall.system.service;

import com.lqd.mall.interaction.system.SysMenuEntity;
import com.lqd.mall.interaction.system.qo.MenuQueryQo;
import com.lqd.mall.interaction.system.vo.MenuVo;
import com.lqd.mall.interaction.system.vo.RouterVo;

import java.util.List;

/**
 * @author 零起点
 * @create 2022-02-23 23:45
 */
public interface ISysMenuService   {
    /**
     * 获取菜单集合
     * @param userId
     * @return
     */
    public List<String> getMenuPermission(Long userId);
    /**
     * 获取到菜单
     * @param userId          用户id
     * @return
     */
    List<MenuVo> selectMenuTreeByUserId(Long userId);

    /**
     *
     * @param menus        菜单集合
     * @return
     */
    public List<RouterVo> buildMenus(List<MenuVo> menus);

    /**
     * 查询菜单
     * @param userId            用户id
     * @param menuQueryQo       查询菜单信息
     * @return                  菜单集合
     */
    List<SysMenuEntity> selectMenuList(Long userId, MenuQueryQo menuQueryQo);

    /**
     * 更具id 查询菜单信息
     * @param menuId          菜单id
     * @return
     */
    SysMenuEntity findMenuById(Integer menuId);
}
